package com.wefans.wefansapp.common.tool.data;

import android.content.Context;

import com.wefans.wefansapp.common.tool.debug.MFDebug;

public class MFDataManager
{
    //////////////////////////////////////////////////////////////////////////////////////
    // final/static property
    //////////////////////////////////////////////////////////////////////////////////////
    private static MFDataManager m_oInstance = null;
    
    //////////////////////////////////////////////////////////////////////////////////////
    // normal property
    //////////////////////////////////////////////////////////////////////////////////////
    Context m_oContext = null;
    private boolean 		   m_bShowDaily	= true;
    private String             m_strMemberIdx = "1";
    private ResGetUser         m_oUserInfo         = null;
    private ResGetCountry      m_oCountryInfo      = null;
    private ResGetAppVer       m_oAppVersionInfo   = null;
    private BenefitData        m_benefitData       = null;
    private BenefitDetailData  m_benefitDetailData = null;
    private BenefitResultData  m_benefitResultData = null;
    private BenefitUserData    m_BenefitUserData   = null;
    
    //////////////////////////////////////////////////////////////////////////////////////
    // getter/setter
    //////////////////////////////////////////////////////////////////////////////////////
    
    public void          setMemberIdx(String memberIdx)            { m_strMemberIdx = memberIdx;   }
    public boolean 		 isShowDaily() 						       { return m_bShowDaily;		   }
	public void 		 setShowDaily(boolean m_bShowDaily)   	   { this.m_bShowDaily = m_bShowDaily; }
	public String        getMebmerIdx()                            { return m_strMemberIdx;        }
    public void          setUserInfo(ResGetUser userInfo)          { m_oUserInfo = userInfo;       }
    public ResGetUser    getUserInfo()                             { return m_oUserInfo;           }
    public void          setCountryInfo(ResGetCountry countryInfo) { m_oCountryInfo = countryInfo; }
    public ResGetCountry getCountryInfo()                          { return m_oCountryInfo;        }
    public void          setVersionInfo(ResGetAppVer appVersion)   { m_oAppVersionInfo = appVersion; }
    public ResGetAppVer  getVersionInfo()                          { return m_oAppVersionInfo;       }
    
    public void setBenefitData(BenefitData benefitData) { m_benefitData = benefitData; }
    public BenefitData getBenefitData() { return m_benefitData; }
    public void setBenefitDetailData(BenefitDetailData benefitDetailData) { m_benefitDetailData = benefitDetailData; }
    public BenefitDetailData getBenefitDetailData() { return m_benefitDetailData; }
    public void setBenefitResultData(BenefitResultData benefitResultData) { m_benefitResultData = benefitResultData; }
    public BenefitResultData getBenefitResultData() { return m_benefitResultData; }
    public void setBenefitUserData(BenefitUserData benefitUserData) { m_BenefitUserData = benefitUserData; }
    public BenefitUserData getBenefitUserData() { return m_BenefitUserData; }
    //////////////////////////////////////////////////////////////////////////////////////
    // constructor
    //////////////////////////////////////////////////////////////////////////////////////
    private MFDataManager(Context context)
    {
        MFDebug.d(">> MFDataManager");
        MFDebug.d("++ context : " + context);
        
        m_oContext = context;
    }
    
    //////////////////////////////////////////////////////////////////////////////////////
    // life cycle method
    //////////////////////////////////////////////////////////////////////////////////////
    public static MFDataManager getInstance(Context context)
    {
        MFDebug.d(">> getInstance()");
        MFDebug.d("++ context : " + context);
        
        if( m_oInstance == null ) {
            m_oInstance = new MFDataManager(context);
        }
        
        return m_oInstance;
    }
    
    //////////////////////////////////////////////////////////////////////////////////////
    // public method
    //////////////////////////////////////////////////////////////////////////////////////
    
    //////////////////////////////////////////////////////////////////////////////////////
    // private method
    //////////////////////////////////////////////////////////////////////////////////////
    
}
